home *** CD-ROM | disk | FTP | other *** search
/ Group 42-Sells Out! - The Information Archive / Group 42 Sells Out (Group 42) (1996).iso / hack / tv / sat / euro / t / smartcrd.txt < prev    next >
Text File  |  1994-06-01  |  18KB  |  418 lines

  1.  
  2.  
  3.  
  4.                  =================================
  5.  
  6.                   SMART CARDS - How Do They Work?
  7.  
  8.                  =================================
  9.  
  10.  
  11.  
  12.   SMART cards are already in use in the VideoCrypt and D2-MAC             
  13. Eurocrypt scrambling systems. They are also widely used for pay           
  14. telephone applications. At this stage the SMART card is throwaway         
  15. technology. Despite being portrayed as being the ultimate in security,    
  16. there are ways to hack the SMART card based systems though the            
  17. cards are relatively secure. 
  18.  
  19.   
  20.   A SMART card has a microprocessor on the card. It may also have         
  21. additional memory. This makes it somewhat different from memory           
  22. only cards as used for prepaid services like telephone calls or rail      
  23. travel. 
  24.  
  25.    
  26.  There are basically two classes of SMART cards; contactless and         
  27. contact. The contact type SMART card requires direct electrical           
  28. connection to the decoder. This is the type of SMART card used in         
  29. the VideoCrypt system. It is the cheapest format.                         
  30.  
  31.   
  32.   The non-contact type SMART card has not been used in decoder            
  33. applications yet. It uses oscillators running at different frequencies to
  34. supply power to the card. A filter and rectifier arrangement circuit on    
  35. the card picks up the signal generated by the descrambler and              
  36. produces a DC voltage. Data can be transferred in a similar fashion.      
  37. This type of card may be used in the future but the cost is prohibitive.
  38.  
  39.   
  40.   The connector specifications for the contact SMART card have             
  41. been established as an ISO standard. The ISO standard specifies
  42. eight connections of which only six are actively used. Many of the         
  43. SMART cards used for payphones and banking applications follow             
  44. the pattern that appears in the diagram. The typical payphone card is
  45. an EPROM memory card rather than a smart card. Videocrypt's card           
  46. does not look like it follows the pattern but it does have the same six    
  47. connections on the connector array.
  48.  
  49.   
  50.   Due to the difficulties involved in reverse engineering a card, it is     
  51. very difficult to extract the data from the card without destroying the    
  52. card. The fact that the structure of the card is known does not imply      
  53. that the actual program in the card is known. 
  54.  
  55.  
  56.   It should be stated that extracting the program from a smart card is
  57. not impossible. It will happen and according to one company, the first     
  58. pirate. clones will appear with in the next few months.                    
  59.  
  60.  
  61.  
  62.  
  63. SMART CARD STRUCTURE
  64. ====================
  65.  
  66.  
  67.   The structure of the card is basically simple. It consists of a
  68. microprocessor and memory. This description fits the microcontrollers 
  69. used to control receivers and video recorders. The type of memory       
  70. used can vary. It generally involves Read Only Memory, Erasable         
  71. Programmable Read Only Memory, Electrically Erasable programm- 
  72. able Read Only Memory and Random Access Memory.                         
  73.  
  74.   
  75.   The information stored in the ROM is fixed and cannot be altered 
  76. without changing the design of the SMART card. The information in 
  77. the EPROM generally has to be erased with ultra violet light. This 
  78. would imply that once the card has been programmed, the
  79. information cannot be erased in the card. The EEPROM is more 
  80. usable in SMART cards for one specific reason - it can be 
  81. reprogrammed in the card. The manner in which the VideoCrypt
  82. cards can be turned on and off seems to indicated that the              
  83. VideoCrypt SMART card uses EEPROM memory rather than                    
  84. EPROM.
  85.  
  86.  
  87.   The microprocessor used on the France Telecom Visiopasse card
  88. is based on the 6805 microcontroller. This microcontroller is an eight 
  89. bit type and has on chip ROM, EEPROM and RAM. The VideoCrypt            
  90. card may be similar in structure.
  91.  
  92.  
  93.  
  94. The specification for the Visiopasse PC2 card
  95.  
  96. CPU  : 6805
  97.  
  98. RAM  : 128 Bytes
  99.  
  100. ROM  : 6144 Bytes 
  101.  
  102. EPROM: 8192 Bytes
  103.  
  104.  
  105. The specification for the Thomson STl834.
  106.  
  107. CPU  : 8 Bit
  108.  
  109. RAM  : 76 Bytes 
  110.  
  111. EPROM: 4095 Bytes
  112.  
  113. Vcc: +5 Volts Vpp: +21 Volts
  114.  
  115.  
  116.        ______________________________________
  117.      /                                        \
  118.     |                                          |
  119.     |                                          |
  120.     |    C1   C5                               |
  121.     |    C2   C6                               |
  122.     |    C3   C7                               |
  123.     |    C4   C8                               |
  124.     |                                          |
  125.     |                                          |
  126.     |                                          |
  127.      \________________________________________/
  128.  
  129.  
  130.  
  131. These contacts have the following purpose:
  132.  
  133.  
  134.     C1    VCC    Supply voltage (+5 V, max. 200 mA)
  135.     C2    RST    Reset signal
  136.     C3    CLK    Clock signal
  137.     C4    -    reserved
  138.     C5    GND    Ground
  139.     C6    VPP    Programming voltage
  140.     C7    I/O    Data input/output
  141.     C8    -    reserved
  142.  
  143.  
  144.  
  145. The actual card type used by Sky is believed to be a Motorola type            
  146. though this has not been established. It would seem logical as the             
  147. main crypto processor is a Motorola microcontroller. 
  148.  
  149.  
  150.  
  151.        A Smart Card Memory Map
  152.        =======================
  153.  
  154.  
  155.     -------------------- MASKED ROM
  156.     |                  |
  157.     |                  |    This section contains the Card,s
  158.     |                  |   housekeeper programs and the
  159.     |                  |   Primary Decryption algroithm. This
  160.     |                  |   algorithm is used on all services.
  161.     |                  |
  162.     |                  |
  163.     |                  |
  164.     |------------------| EEPROM
  165.     |                  |
  166.     |                  |    This section contains the service
  167.     |                  |   data, the authorisation, the card
  168.     |                  |   identity, the subsciber identity, the
  169.     |                  |   billing data and period data
  170.     |                  |
  171.     |                  |
  172.     |------------------| RAM
  173.     |                  |
  174.     |                  |    This section is used by the
  175.     --------------------   decryption algorithm and other
  176.                            programs as a tempory storage
  177.                            area.
  178.  
  179.  
  180.  
  181.        The Smart Card's Chip Structure
  182.        ===============================
  183.  
  184.  
  185.          ---- EEPROM R/W Voltage
  186.          |
  187.          |          
  188.     -----------    --------------
  189.     |         |    |            |----- Reset
  190.     |         |....|            |
  191.     | EEPROM  |    |  Micro-    |----------- Data Port
  192.     |         |....|  Processor |
  193.     |         |    |            |----- Clock
  194.     -----------    |            |
  195.                    |            |----- 5v Supply
  196.                    --------------
  197.                     . .     . .
  198.                     . .     . .
  199.             ------------  -----------
  200.             |          |  |         |
  201.             |          |  |         |
  202.             |          |  | Masked  |
  203.             |   RAM    |  | ROM     |
  204.             |          |  |         |
  205.             |          |  |         |
  206.             |          |  |         |
  207.             ------------  -----------
  208.  
  209.       The Smart Card's Microcontroller is fabricated on
  210.     one chip. This chip contains EEPROM. If any attempt
  211.     is made to scan the chip with an electron microscope,
  212.     the EEPROM will be wiped. Since the design is all on a
  213.     single chip the data flow between the memory areas
  214.     cannot be directly examined.
  215.  
  216.  
  217.   From this information, a memory map of a VideoCrypt SMART card
  218. can be guessed. The ROM area of the memory is the area where the              
  219. main operational program and decryption algorithms are stored. The             
  220. EEPROM area contains the service data, the pay per view data, the              
  221. card identity data and the billing period data. The RAM is used for            
  222. temporary storage of data.
  223.  
  224.   
  225.   The ROM area of the card is not accessible. It cannot be read out             
  226. by pumping the card. For this reason it holds the most critical
  227. information. The programs held in ROM are used for all services or             
  228. channels that use the card. The algorithms will be identical but the           
  229. keys will be totally different. This section will also hold the routine for    
  230. decryption the data in the EEPROM area of the memory. 
  231.  
  232.   
  233.   The EEPROM contains the enabling data for each channel that the              
  234. card user has paid for. The data entry for each channel would consist          
  235. of a channel identifier, a billing period, a regional identifier, key data     
  236. and authorisation data for the channel.
  237.  
  238.   
  239.   The design of a SMART card is complex and prototyping can take
  240. a few months. The ROM in the card has to be mask programmed.
  241. This essentially means that the programs to be stored in the ROM are
  242. designed as part of the chip. The procedure is straightforward.
  243.  
  244.   
  245.   The programs to be included in the ROM are developed on a
  246. SMART card emulator. This is a microprocessor development system
  247. that is configured to imitate a SMART card. It is hooked to a personal
  248. computer. The program developer will write the programs on the
  249. computer, test them, and if they run successfully, load them into the
  250. SMART card emulator. The SMART card emulator will then be
  251. plugged into a decoder to ensure that the programs work.
  252.  
  253.     
  254.   The programs will then be supplied on floppy disc to the chip
  255. manufacturer. The manufacturer will program an EPROM with the
  256. programs and send it to the card issuer for verification. Once the
  257. EPROM is checked, the manufacturer will then produce the chips in
  258. sample quantity. These chips will also be tested for correct operation.
  259. The chips can then be mass produced.
  260.  
  261.  
  262.   The chips are glued to a printed circuit board substrate with epoxy      
  263. resin. The connection pins on the chip are wired to the connections
  264. on the substrate. The substrate connections are then wired to the          
  265. connector array. The actual plastic card is injection moulded with an      
  266. indent for the chip. The chip is then glued into the indent. The card is   
  267. then tested to ensure that it is operational. 
  268.  
  269.  
  270.   The SMART card at this stage will only have the bare minimum of
  271. data. There will be no service data in the EEPROM. This data is
  272. programmed into the card by the card issuer. In VideoCrypt's case,
  273. the programming and card assembly would be carried out at the
  274. Gemplus factory in Scotland.
  275.  
  276.  
  277.  
  278.  
  279. SMART CARD OPERATION
  280. =====================                                           
  281.  
  282.   The SMART card is essentially a partial computer on a card. It is a             
  283. partial computer because it requires other circuitry and inputs to
  284. operate. The first requirement is supply voltage. This is generally a 5
  285. Volt DC supply. 
  286.  
  287.  
  288.   The second requirement is a clock signal. This is a stable               
  289. frequency square wave of 5 volts amplitude. This frequency is derived      
  290. from a crystal in the descrambler. The frequency used in the              
  291. VideoCrypt card is 3.5 MHz.
  292.  
  293.   
  294.   The third requirement is a reset line. This is used to initiate the  l@
  295. programs and routines in the card when the card is inserted into the
  296. socket.
  297.                                           
  298.  
  299.   The fourth requirement is the EEPROM voltage. The EEPROM
  300. programming voltage is high, typically over twenty volts. This voltage
  301. is only on for a few milliseconds every three seconds. The chip would  
  302. generate too much heat if it was continually fed with high voltage.   
  303.  
  304.  
  305.   The fifth requirement is the data port. The data flows to and from 
  306. the card on one line. It is serial data. This port would be connected to 
  307. the RAM in the card. The serial data would be clocked into the RAM. 
  308. The microprocessor on the chip would then read the data in a parallel 
  309. format. The data flows at 9600 Baud or at 9600 bits per second. The 
  310. serial data line makes the card more secure. I
  311.  
  312.  
  313.   When the card is inserted into the descrambler, the reset pin is 
  314. activated. This zeroes the RAM and causes the microprocessor to 
  315. select the boot-up program. This program will verify that the card is 
  316. valid for the period and not on the blacklist. The card will then read
  317. the data from the descrambler. This data, along with service data from
  318. the EEPROM, will be used in the decryption algorithm stored in the
  319. ROM. The product of the decryption algorithm will then be passed
  320. back to the descrambler.
  321.  
  322.   
  323.   In the VideoCrypt system, the information flowing to and from the
  324. card is not useful on its own. The data is not the actual key used to
  325. descramble the picture. This data is passed via the 8052 Housekee-
  326. per microcontroller to a secure microprocessor, the ZC404044 or
  327. ZC404047, where it is then used in a further algorithm to generate
  328. the seed for cutpoint generator. The secure microprocessor is actually
  329. a Mask ROM version of the 6805 microcontroller.
  330.  
  331.  
  332.   Pay Per View is extremely easy to implement with a SMART card.
  333. The card user will purchase a number of credits or tokens each billing
  334. period. A typical number would be 99 tokens. The SMART card would
  335. be programmed so that the token counter would read 99 tokens.
  336. When ever the user wanted to watch a PPV film or event, a message
  337. would be shown on screen stating the number of tokens that the
  338. event is valued at. To watch the programme, the user would press the
  339. authorise or pay button on the front of the descrambler. The
  340. descrambler would then decrease the token register by the correct
  341. amount. 
  342.  
  343.  
  344.   Each service could have a token register. The actual operation of 
  345. the counting mechanism would be more complex. It would be too 
  346. easy to intercept the taken count value and substitute a continual 99 
  347. tokens. This type of hack is commonly used in computer games and 
  348. is known as an "Infinite Lives POKE". At present the actual PPV
  349. algorithm for VideoCrypt lies mainly in the 8052. There is the 
  350. possibility that the Infinite Lives Poke would work The issue of the O9
  351. smart cards may have taken this into consideration. 
  352.  
  353.  
  354.  
  355.  
  356. SMART CARD SECURITY AND ADDRESSING
  357. ===================================
  358.  
  359.  The VIdeoCrypt cards are valid once they leave the subscription
  360. centre. This means that they can be used in any VideoCrypt              
  361. descrambler. They can be deactivated over the air by Sky. 
  362.  
  363.  
  364.   When this occurs, a section of the EEPROM in the card is             
  365. overwritten so that when the card is inserted into the descrambler, it  
  366. will not work. In order to reactivate the card, the program providers
  367. Sky send out a message to the descrambler to reprogram the             
  368. overwritten section of EEPROM.
  369.  
  370.   
  371.   This weakness was actually used to hack the VideoCrypt system
  372. though it was quickly discovered and countered. The details of the 
  373. hack are given later.
  374.  
  375.   
  376.   Other systems using SMART card use over the air enabling. In this        
  377. case, the cards cannot be used immediately. They have to be inserted       
  378. into the descrambler and the subscription centre has to be informed.       
  379. The subscription centre will then activate the card. This method of        
  380. addressing is more time consuming and thus less economical. it is          
  381. basically a trade off between medium security and very high security.
  382.  
  383.  
  384.   Reverse engineering a SMART card is not an economically viable           
  385. hack. The chip on the SMART card is covered in epoxy resin. Trying
  386. to remove this resin can sometimes destroy the chip. If the memory
  387. and the microprocessor are on different chips, it would be barely         
  388. possible to attack the connecting wires and monitor the data flow. if
  389. the memory and the microprocessor are on the same chip it is
  390. impossible. Using an electron microscope to read the memory may            
  391. partially work on EPROM type SMART cards. Smart cards using                
  392. EEPROM memory are reasonably secure against this hack. The                 
  393. scanning electron beam erases the EEPROM. 
  394.  
  395.  
  396.   It is possible that a method for reprogramming the EEPROM on a
  397. SMART card could be developed. Using such a method, the
  398. EEPROM contents of a valid card could be copied and loaded on to
  399. an old SMART card. There is virtually no problem in obtaining old Sky
  400. SMART cards. This hack has one fatal flaw. The ROM data on
  401. SMART cards is changed from billing period to billing period.
  402. Therefore the algorithms and the EEPROM data decrypting algorithm
  403. are different. One potential weakness on a multi service card would
  404. be a cloning of a fully authorised card using a SMART card with the
  405. minimum authorisation. This hack relies on the development of an
  406. EEPROM reading and writing method.
  407.  
  408.  
  409.   It would appear that the SMART card is the most difficult aspect of
  410. the system to hack. It is certainly not economically viable to hack it.
  411. The use of a SMART card does not confer immunity to hacking upon 
  412. a system. There are usually fatal flaws in the descrambler that the
  413. hacker can exploit. The VideoCrypt system has become a rather
  414. lucrative target after the Sky / BSB merger. There are now three
  415. movie channels, two foreign language channels, The Adult Channel
  416. and one sports channel using the system. Other users will adopt the
  417. system with in the next year or so.
  418.